package org.xu.utils;

import org.xu.dto.MenuDTO;

import java.util.*;

public class MenuMockDataUtil {

    public static List<MenuDTO> listSystemMenu(){
        List<MenuDTO> result = new ArrayList<>();
        MenuDTO systemMenu = new MenuDTO();
        result.add(systemMenu);
        systemMenu.setParentId(null);
        systemMenu.setUpdateTime(new Date());
        systemMenu.setCreateTime(new Date());
        systemMenu.setId("1");
        systemMenu.setMenuType("1");
        systemMenu.setMenuName("系统管理");
        systemMenu.setMenuCode("");
        systemMenu.setPath("/system");
        systemMenu.setIcon("Tools"); //
        systemMenu.setOrder("0");
        systemMenu.setComponent("");
        List<MenuDTO> children = new ArrayList<>();
        systemMenu.setChildren(children);
        // 用户管理
        MenuDTO userMenu = new MenuDTO();
        userMenu.setId("11");
        userMenu.setParentId(Collections.singletonList(systemMenu.getId()));
        userMenu.setUpdateTime(new Date());
        userMenu.setCreateTime(new Date());
        userMenu.setMenuType("1");
        userMenu.setMenuName("用户管理");
        userMenu.setMenuCode("");
        userMenu.setPath("/system/user");
        userMenu.setIcon("User");
        userMenu.setOrder("1");
        userMenu.setComponent("/system/user");
        userMenu.setMenuState("1");
        children.add(userMenu);
        // 菜单管理
        MenuDTO menuManageMenu = new MenuDTO();
        menuManageMenu.setId("12");
        menuManageMenu.setParentId(Collections.singletonList(systemMenu.getId()));
        menuManageMenu.setUpdateTime(new Date());
        menuManageMenu.setCreateTime(new Date());
        menuManageMenu.setMenuType("1");
        menuManageMenu.setMenuName("菜单管理");
        menuManageMenu.setMenuCode("");
        menuManageMenu.setPath("/system/menu");
        menuManageMenu.setIcon("Menu");
        menuManageMenu.setOrder("2");
        menuManageMenu.setComponent("/system/user");
        menuManageMenu.setMenuState("1");
        children.add(menuManageMenu);

        // 角色管理
        MenuDTO roleMenu = new MenuDTO();
        roleMenu.setId("13");
        roleMenu.setParentId(Collections.singletonList(systemMenu.getId()));
        roleMenu.setUpdateTime(new Date());
        roleMenu.setCreateTime(new Date());
        roleMenu.setMenuType("1");
        roleMenu.setMenuName("角色管理");
        roleMenu.setMenuCode("");
        roleMenu.setPath("/system/role");
        roleMenu.setIcon("Avatar");
        roleMenu.setOrder("3");
        roleMenu.setComponent("/system/role");
        roleMenu.setMenuState("1");
        children.add(roleMenu);
        // 部门管理
        MenuDTO deptMenu = new MenuDTO();
        deptMenu.setId("14");
        deptMenu.setParentId(Collections.singletonList(systemMenu.getId()));
        deptMenu.setUpdateTime(new Date());
        deptMenu.setCreateTime(new Date());
        deptMenu.setMenuType("1");
        deptMenu.setMenuName("部门管理");
        deptMenu.setMenuCode("");
        deptMenu.setPath("/system/dept");
        deptMenu.setIcon("OfficeBuilding");
        deptMenu.setOrder("4");
        deptMenu.setComponent("/system/dept");
        deptMenu.setMenuState("1");
        children.add(deptMenu);
        // ----------- 按钮
        MenuDTO userCreateBtn = new MenuDTO();
        userCreateBtn.setParentId(Arrays.asList(systemMenu.getId(),userMenu.getId()));
        userCreateBtn.setUpdateTime(new Date());
        userCreateBtn.setCreateTime(new Date());
        userCreateBtn.setId("10001");
        userCreateBtn.setMenuType("2");
        userCreateBtn.setMenuState("1");
        userCreateBtn.setMenuName("新增");
        userCreateBtn.setMenuCode("user-create");
        List<MenuDTO> userChild = new ArrayList<>();
        userChild.add(userCreateBtn);
        userMenu.setChildren(userChild);
        return result;
    }


    public static List<MenuDTO> listApprovalMenu(){
        List<MenuDTO> result = new ArrayList<>();
        MenuDTO approvalMenu = new MenuDTO();
        result.add(approvalMenu);
        approvalMenu.setParentId(null);
        approvalMenu.setUpdateTime(new Date());
        approvalMenu.setCreateTime(new Date());
        approvalMenu.setId("2");
        approvalMenu.setMenuType("1");
        approvalMenu.setMenuName("审批管理");
        approvalMenu.setMenuCode("");
        approvalMenu.setPath("/approve");
        approvalMenu.setIcon("Checked"); //
        approvalMenu.setOrder("0");
        approvalMenu.setComponent("");
        List<MenuDTO> children = new ArrayList<>();
        approvalMenu.setChildren(children);
        // 休假申请
        MenuDTO userMenu = new MenuDTO();
        userMenu.setId("21");
        userMenu.setParentId(Collections.singletonList(approvalMenu.getId()));
        userMenu.setUpdateTime(new Date());
        userMenu.setCreateTime(new Date());
        userMenu.setMenuType("1");
        userMenu.setMenuName("休假申请");
        userMenu.setMenuCode("");
        userMenu.setPath("/system/user");
        userMenu.setIcon("House");
        userMenu.setOrder("1");
        userMenu.setComponent("/system/user");
        userMenu.setMenuState("1");
        children.add(userMenu);
        // 待我审批
        MenuDTO waitApprovalMenu = new MenuDTO();
        waitApprovalMenu.setId("22");
        waitApprovalMenu.setParentId(Collections.singletonList(approvalMenu.getId()));
        waitApprovalMenu.setUpdateTime(new Date());
        waitApprovalMenu.setCreateTime(new Date());
        waitApprovalMenu.setMenuType("1");
        waitApprovalMenu.setMenuName("带我审批");
        waitApprovalMenu.setMenuCode("");
        waitApprovalMenu.setPath("/system/menu");
        waitApprovalMenu.setIcon("View");
        waitApprovalMenu.setOrder("2");
        waitApprovalMenu.setComponent("/system/wait/approval");
        waitApprovalMenu.setMenuState("1");
        children.add(waitApprovalMenu);
        return result;
    }


}
